package com.cloudkinto.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author zhangyy
 * @since 2020-11-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_fba_order_output")
public class FbaOrderOutputDo extends Model<FbaOrderOutputDo> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @TableField("pick_up_id")
    private Long pickUpId;
    /**
     * 0 未发货  1 已发货 2 待发货  更改为来自码表
     */
    @TableField("status")
    private Long status;
    /**
     * 0 未拣货  1 待拣货 2已拣货
     */
    @TableField("pick_status")
    private Integer pickStatus;
    /**
     * 发货日期  （当前日期）
     */

    @TableField("send_time")
    private Date sendTime;
    @TableField("send_date")
    private Date sendDate;

    @TableField("shop_id")
    private Long shopId;

    @TableField("commodity_sku")
    private String commoditySku;

    @TableField("storage_id")
    private Long storageId;

    /**
     * fba转运单号  FOT+时间+id
     */
    @TableField("fba_order_output_number")
    private String fbaOrderOutputNumber;

    /**
     * 顾客自定单号
     */
    @TableField("order_no")
    private String orderNo;
    @TableField("po_number")
    private String poNumber;

    @TableField("receiver_name")
    private String receiverName;

    @TableField("tel_phone")
    private String telPhone;

    @TableField("post_code")
    private String postCode;

    @TableField("area")
    private String area;

    @TableField("address")
    private String address;

    @TableField("tips")
    private String tips;

    @TableField("ship_fee")
    private double shipFee;

    @TableField("out_fee")
    private double outFee;

    @TableField("operate_fee")
    private double operateFee;

    @TableField("labor_fee")
    private Double laborFee;

    @TableField("label_fee")
    private Double labelFee;

    @TableField("cancel_fee")
    private Double cancelFee;

    @TableField("origin_ship_fee")
    private double originShipFee;

    @TableField("tax_fee")
    private double taxFee;

    @TableField("storage_sku")
    private String storageSku;
    @TableField("input_order_number")
    private String orderInputNumber;

    @TableField("track_id")
    private Long trackId;

    /**
     * 代收款
     */
    @TableField("cod")
    private Integer cod;

    /**
     * 指定配达日期
     */
    @TableField("delivery_date")
    private Date deliveryDate;

    /**
     * 指定配达时间
     */
    @TableField("delivery_time")
    private String deliveryTime;


    /**
     * 快递追踪号码
     */
    @TableField("track_number")
    private String trackNumber;

    @TableField("company_id")
    private Long companyId;

    @TableField("create_time")
    private Date createTime;

    @TableField("create_by")
    private Long createBy;

    @TableField("update_time")
    private Date updateTime;

    @TableField("update_by")
    private Long updateBy;

    @TableField("delete_by")
    private Long deleteBy;

    @TableField("delete_time")
    private Date deleteTime;

    /**
     * 逻辑删除
     */
    @TableField("delete_flag")
    @TableLogic
    private Integer deleteFlag;

    @TableField("file_id")
    private Long fileId;

    @TableField("signature_file_id")
    private Long signatureFileId;

    @TableField("product_file_id")
    private Long productFileId;

    @TableField("other_file_id")
    private Long otherFileId;


    @TableField("fba_storage_id")
    private Long fbaStorageId;

    @TableField("appointment_car_time")
    private Date appointmentCarTime;

    /**
     * fba约仓时间
     */
    @TableField("appointment_storage_time")
    private Date appointmentStorageTime;

    /**
     * 是否已被约车
     */
    @TableField("is_trucks")
    private Integer isTrucks;
    /**
     * 是否手动设置贴标费 0 否 1是
     */
    @TableField("is_set_fee")
    private Integer isSetFee;

    /**
     *仓库类型 FBA仓库：fba  私人仓库：own
     */
    @TableField("storage_type")
    private String storageType;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
